package com.tabjin.rfidsocket.pojo;

import lombok.*;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import java.util.Date;

@Getter
@Setter
@Builder
@ToString
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "arch_project")
public class ArchProject {
    /**
     * 项目id
     */
    @Id
    private Integer id;

    /**
     * 管理者id
     */
    @Column(name = "manager_id")
    private Integer managerId = 0;

    /**
     * 项目名称
     */
    private String name;

    /**
     * 省份
     */
    private String province;

    /**
     * 城市
     */
    private String city;

    /**
     * 区
     */
    private String district;

    /**
     * 街道/社区
     */
    private String street;

    /**
     * 年代
     */
    private String age;

    /**
     * 单位性质
     * 0:事业单位
     */
    @Column(name = "unit_nature")
    private Integer unitNature;

    /**
     * 类型
     * 0：封闭式
     */
    private Integer type;

    /**
     * 经度
     */
    private String longitude;

    /**
     * 纬度
     */
    private String latitude;

    /**
     * 地址
     */
    private String address;

    /**
     * 标准地址编码
     */
    @Column(name = "standard_address_coding")
    private String standardAddressCoding;

    /**
     * 标准项目编码
     */
    @Column(name = "standard_project_code")
    private String standardProjectCode;

    /**
     * 物业项目经理
     */
    @Column(name = "property_project_manager")
    private String propertyProjectManager;

    /**
     * 物业联系电话
     */
    @Column(name = "property_contact_number")
    private String propertyContactNumber;

    /**
     * 开工时间
     */
    @Column(name = "start_time")
    private Date startTime;

    /**
     * 竣工时间
     */
    @Column(name = "completion_time")
    private Date completionTime;

    /**
     * 物业合同开始时间
     */
    @Column(name = "property_contract_start_time")
    private Date propertyContractStartTime;

    /**
     * 物业合同到期时间
     */
    @Column(name = "property_contract_expire_time")
    private Date propertyContractExpireTime;

    /**
     * 物业取得方式
     * 0：无
     * 1：日常物业
     * 2：前期物业
     */
    @Column(name = "property_acquisition_method")
    private Integer propertyAcquisitionMethod;

    /**
     * 项目基础设施id
     */
    @Column(name = "arch_project_infrastructure_id")
    private String archProjectInfrastructureId;

    /**
     * 所属开发商
     */
    @Column(name = "arch_developer_id")
    private String archDeveloperId;

    /**
     * 物管办公区域id
     */
    @Column(name = "arch_property_management_office_area_id")
    private String archPropertyManagementOfficeAreaId;

    /**
     * 专项维修资金（住宅）
     */
    @Column(name = "repair_residential_money")
    private String repairResidentialMoney;

    /**
     * 专项维修资金（商用）
     */
    @Column(name = "repair_commercial_money")
    private String repairCommercialMoney;

    /**
     * 创建时间
     */
    @Column(name = "create_time")
    private Date createTime;

    /**
     * 最后一次修改时间
     */
    @Column(name = "update_time")
    private Date updateTime;

    /**
     * 删除时间
     */
    @Column(name = "delete_time")
    private Date deleteTime;

    /**
     * 操作者
     */
    private String operator;

    /**
     * 最后一次更新操作者的ip地址
     */
    @Column(name = "operator_ip")
    private String operatorIp;

    /**
     * 获取项目id
     *
     * @return id - 项目id
     */
    public Integer getId() {
        return id;
    }

    /**
     * 设置项目id
     *
     * @param id 项目id
     */
    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * 获取项目名称
     *
     * @return name - 项目名称
     */
    public String getName() {
        return name;
    }

    /**
     * 设置项目名称
     *
     * @param name 项目名称
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * 获取省份
     *
     * @return province - 省份
     */
    public String getProvince() {
        return province;
    }

    /**
     * 设置省份
     *
     * @param province 省份
     */
    public void setProvince(String province) {
        this.province = province;
    }

    /**
     * 获取城市
     *
     * @return city - 城市
     */
    public String getCity() {
        return city;
    }

    /**
     * 设置城市
     *
     * @param city 城市
     */
    public void setCity(String city) {
        this.city = city;
    }

    /**
     * 获取区
     *
     * @return district - 区
     */
    public String getDistrict() {
        return district;
    }

    /**
     * 设置区
     *
     * @param district 区
     */
    public void setDistrict(String district) {
        this.district = district;
    }

    /**
     * 获取街道/社区
     *
     * @return street - 街道/社区
     */
    public String getStreet() {
        return street;
    }

    /**
     * 设置街道/社区
     *
     * @param street 街道/社区
     */
    public void setStreet(String street) {
        this.street = street;
    }

    /**
     * 获取年代
     *
     * @return age - 年代
     */
    public String getAge() {
        return age;
    }

    /**
     * 设置年代
     *
     * @param age 年代
     */
    public void setAge(String age) {
        this.age = age;
    }

    /**
     * 获取单位性质
     * 0:事业单位
     *
     * @return unit_nature - 单位性质
     * 0:事业单位
     */
    public Integer getUnitNature() {
        return unitNature;
    }

    /**
     * 设置单位性质
     * 0:事业单位
     *
     * @param unitNature 单位性质
     *                   0:事业单位
     */
    public void setUnitNature(Integer unitNature) {
        this.unitNature = unitNature;
    }

    /**
     * 获取类型
     * 0：封闭式
     *
     * @return type - 类型
     * 0：封闭式
     */
    public Integer getType() {
        return type;
    }

    /**
     * 设置类型
     * 0：封闭式
     *
     * @param type 类型
     *             0：封闭式
     */
    public void setType(Integer type) {
        this.type = type;
    }

    /**
     * 获取经度
     *
     * @return longitude - 经度
     */
    public String getLongitude() {
        return longitude;
    }

    /**
     * 设置经度
     *
     * @param longitude 经度
     */
    public void setLongitude(String longitude) {
        this.longitude = longitude;
    }

    /**
     * 获取纬度
     *
     * @return latitude - 纬度
     */
    public String getLatitude() {
        return latitude;
    }

    /**
     * 设置纬度
     *
     * @param latitude 纬度
     */
    public void setLatitude(String latitude) {
        this.latitude = latitude;
    }

    /**
     * 获取地址
     *
     * @return address - 地址
     */
    public String getAddress() {
        return address;
    }

    /**
     * 设置地址
     *
     * @param address 地址
     */
    public void setAddress(String address) {
        this.address = address;
    }

    /**
     * 获取标准地址编码
     *
     * @return standard_address_coding - 标准地址编码
     */
    public String getStandardAddressCoding() {
        return standardAddressCoding;
    }

    /**
     * 设置标准地址编码
     *
     * @param standardAddressCoding 标准地址编码
     */
    public void setStandardAddressCoding(String standardAddressCoding) {
        this.standardAddressCoding = standardAddressCoding;
    }

    /**
     * 获取标准项目编码
     *
     * @return standard_project_code - 标准项目编码
     */
    public String getStandardProjectCode() {
        return standardProjectCode;
    }

    /**
     * 设置标准项目编码
     *
     * @param standardProjectCode 标准项目编码
     */
    public void setStandardProjectCode(String standardProjectCode) {
        this.standardProjectCode = standardProjectCode;
    }

    /**
     * 获取物业项目经理
     *
     * @return property_project_manager - 物业项目经理
     */
    public String getPropertyProjectManager() {
        return propertyProjectManager;
    }

    /**
     * 设置物业项目经理
     *
     * @param propertyProjectManager 物业项目经理
     */
    public void setPropertyProjectManager(String propertyProjectManager) {
        this.propertyProjectManager = propertyProjectManager;
    }

    /**
     * 获取物业联系电话
     *
     * @return property_contact_number - 物业联系电话
     */
    public String getPropertyContactNumber() {
        return propertyContactNumber;
    }

    /**
     * 设置物业联系电话
     *
     * @param propertyContactNumber 物业联系电话
     */
    public void setPropertyContactNumber(String propertyContactNumber) {
        this.propertyContactNumber = propertyContactNumber;
    }

    /**
     * 获取开工时间
     *
     * @return start_time - 开工时间
     */
    public Date getStartTime() {
        return startTime;
    }

    /**
     * 设置开工时间
     *
     * @param startTime 开工时间
     */
    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    /**
     * 获取竣工时间
     *
     * @return completion_time - 竣工时间
     */
    public Date getCompletionTime() {
        return completionTime;
    }

    /**
     * 设置竣工时间
     *
     * @param completionTime 竣工时间
     */
    public void setCompletionTime(Date completionTime) {
        this.completionTime = completionTime;
    }

    /**
     * 获取物业合同开始时间
     *
     * @return property_contract_start_time - 物业合同开始时间
     */
    public Date getPropertyContractStartTime() {
        return propertyContractStartTime;
    }

    /**
     * 设置物业合同开始时间
     *
     * @param propertyContractStartTime 物业合同开始时间
     */
    public void setPropertyContractStartTime(Date propertyContractStartTime) {
        this.propertyContractStartTime = propertyContractStartTime;
    }

    /**
     * 获取物业合同到期时间
     *
     * @return property_contract_expire_time - 物业合同到期时间
     */
    public Date getPropertyContractExpireTime() {
        return propertyContractExpireTime;
    }

    /**
     * 设置物业合同到期时间
     *
     * @param propertyContractExpireTime 物业合同到期时间
     */
    public void setPropertyContractExpireTime(Date propertyContractExpireTime) {
        this.propertyContractExpireTime = propertyContractExpireTime;
    }

    /**
     * 获取物业取得方式
     * 0：无
     * 1：日常物业
     * 2：前期物业
     *
     * @return property_acquisition_method - 物业取得方式
     * 0：无
     * 1：日常物业
     * 2：前期物业
     */
    public Integer getPropertyAcquisitionMethod() {
        return propertyAcquisitionMethod;
    }

    /**
     * 设置物业取得方式
     * 0：无
     * 1：日常物业
     * 2：前期物业
     *
     * @param propertyAcquisitionMethod 物业取得方式
     *                                  0：无
     *                                  1：日常物业
     *                                  2：前期物业
     */
    public void setPropertyAcquisitionMethod(Integer propertyAcquisitionMethod) {
        this.propertyAcquisitionMethod = propertyAcquisitionMethod;
    }

    /**
     * 获取项目基础设施id
     *
     * @return arch_project_infrastructure_id - 项目基础设施id
     */
    public String getArchProjectInfrastructureId() {
        return archProjectInfrastructureId;
    }

    /**
     * 设置项目基础设施id
     *
     * @param archProjectInfrastructureId 项目基础设施id
     */
    public void setArchProjectInfrastructureId(String archProjectInfrastructureId) {
        this.archProjectInfrastructureId = archProjectInfrastructureId;
    }

    /**
     * 获取所属开发商
     *
     * @return arch_developer_id - 所属开发商
     */
    public String getArchDeveloperId() {
        return archDeveloperId;
    }

    /**
     * 设置所属开发商
     *
     * @param archDeveloperId 所属开发商
     */
    public void setArchDeveloperId(String archDeveloperId) {
        this.archDeveloperId = archDeveloperId;
    }

    /**
     * 获取物管办公区域id
     *
     * @return arch_property_management_office_area_id - 物管办公区域id
     */
    public String getArchPropertyManagementOfficeAreaId() {
        return archPropertyManagementOfficeAreaId;
    }

    /**
     * 设置物管办公区域id
     *
     * @param archPropertyManagementOfficeAreaId 物管办公区域id
     */
    public void setArchPropertyManagementOfficeAreaId(String archPropertyManagementOfficeAreaId) {
        this.archPropertyManagementOfficeAreaId = archPropertyManagementOfficeAreaId;
    }

    /**
     * 获取专项维修资金（住宅）
     *
     * @return repair_residential_money - 专项维修资金（住宅）
     */
    public String getRepairResidentialMoney() {
        return repairResidentialMoney;
    }

    /**
     * 设置专项维修资金（住宅）
     *
     * @param repairResidentialMoney 专项维修资金（住宅）
     */
    public void setRepairResidentialMoney(String repairResidentialMoney) {
        this.repairResidentialMoney = repairResidentialMoney;
    }

    /**
     * 获取专项维修资金（商用）
     *
     * @return repair_commercial_money - 专项维修资金（商用）
     */
    public String getRepairCommercialMoney() {
        return repairCommercialMoney;
    }

    /**
     * 设置专项维修资金（商用）
     *
     * @param repairCommercialMoney 专项维修资金（商用）
     */
    public void setRepairCommercialMoney(String repairCommercialMoney) {
        this.repairCommercialMoney = repairCommercialMoney;
    }

    /**
     * 获取创建时间
     *
     * @return create_time - 创建时间
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * 设置创建时间
     *
     * @param createTime 创建时间
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * 获取最后一次修改时间
     *
     * @return update_time - 最后一次修改时间
     */
    public Date getUpdateTime() {
        return updateTime;
    }

    /**
     * 设置最后一次修改时间
     *
     * @param updateTime 最后一次修改时间
     */
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    /**
     * 获取删除时间
     *
     * @return delete_time - 删除时间
     */
    public Date getDeleteTime() {
        return deleteTime;
    }

    /**
     * 设置删除时间
     *
     * @param deleteTime 删除时间
     */
    public void setDeleteTime(Date deleteTime) {
        this.deleteTime = deleteTime;
    }

    /**
     * 获取操作者
     *
     * @return operator - 操作者
     */
    public String getOperator() {
        return operator;
    }

    /**
     * 设置操作者
     *
     * @param operator 操作者
     */
    public void setOperator(String operator) {
        this.operator = operator;
    }

    /**
     * 获取最后一次更新操作者的ip地址
     *
     * @return operator_ip - 最后一次更新操作者的ip地址
     */
    public String getOperatorIp() {
        return operatorIp;
    }

    /**
     * 设置最后一次更新操作者的ip地址
     *
     * @param operatorIp 最后一次更新操作者的ip地址
     */
    public void setOperatorIp(String operatorIp) {
        this.operatorIp = operatorIp;
    }
}